FreeDOS Contribution HOWTO

Suggestions for things to do

maintained by: Jim Hall
1.2, Feb 6 2000


Table of contents
Open source promotes software reliability and quality by supporting independent peer review and rapid evolution of source code
-Eric S. Raymond
0. Why this list?

The FreeDOS Project, like any free software and open-source software project, needs your help in order to move forward. The best way to help the FreeDOS Project is to help write programs that we can distribute with it.

Would you like to help write FreeDOS software? But maybe you don't know where to begin? If you are eager to contribute, but you need a nudge in the right direction, we have assembled this list of programs and projects that should help you choose a project to get started on.

If you start working steadily on a project, please let us know. You can send email to Jim Hall or you can join the FreeDOS Mailing List. In any case, tell us that you have started work on a prorgram; we might have information that could help you, or someone else may have already started work on a similar project (try to avoid duplicated effort.) We'd also like to point you to the FreeDOS coding standards..


1. For the programmer

Here are some possible projects, for anyone who has an interest in programming:

Take any of the open projects that you'll find on the FreeDOS Software List. We have a few programs that have not been written yet. Use the FreeDOS Spec as a guide for writing these programs. Also use the FreeDOS coding style suggestions. Both of these documents are available from the FreeDOS Documentation Project. Some projects that require immediate attention:

Contribute to FreeCOM (the FreeDOS command.com Shell). Some specific ideas:

Contribute to the FreeDOS kernel. Some specific ideas:

Contribute to the code by making sure programs can be compiled using different compilers. This will involve wise use of #ifdef statements to detect the compiler and include or exclude certain code. Also be sure to update the Makefiles, and submit the changes back to the author so he/she can post them for others to use.

Write a compatibility library that allows your favorite C compiler to compile C code in the same way as the FreeDOS Reference Standard compiler (BC3.1, it's in the Spec.) For example, if your compiler does not implement the conio library from Borland C, then write a set of wrapper functions that implements them.

Apply some much-needed patches to the Freemacs (1.6g) editor. Russell Nelson has forwarded me a list of things that needed to be patched in 1.6d that were never applied. Jim Hall is the current maintainer of Freemacs, but if you want to take this project on, let me know.

Write some cool edit modes for Freemacs. This would require that you learn MINT, the script language for Freemacs. You can look at the documentation on the Mini HOWTOs for how to program in MINT. Some ideas to start with:

Adapt an existing FreeDOS program to use the MSGLIB library for internationalization. This will make FreeDOS more accessible to other users.

Write a FreeDOS Sound library. This comes up from time to time. It would be best implemented as a TSR, and should also be accompanied by a set of C API that can call the sound, and incorporated into MSGLIB so that MSGLIB accesses the API for you. Also it should have good documentation for ASM programmers so that they can use the TSR as well.


2. For the non-programmer

Here are some possible projects, for anyone who is not really interested in programming, but wants to make a significant contribution to the FreeDOS Project:

If you speak a language other than English, translate the FreeDOS Manifesto. Send your translations to Jim Hall.

If you speak a language other than English, translate the FreeDOS Internationalization table. This is a list of computer terms in English, Spanish, Italian, and other languages.

Create WWW images so we can all stick banners, buttons, etc in our FreeDOS web pages. There are some cool banners for Linux at conradp that you can use as a starting point, and has some helpful hints on how to create good web page banners. See also the FreeDOS Banners page. Send your banners to Jim Hall.

Make FreeDOS easier to use by writing for the FreeDOS Documentation Project. Some suggestions: Device Driver Developer HOWTO, Kernel Hack HOWTO, ...

Create XKEYB key files for different language sets. For example, FR and SO.

Test as much DOS software as you can find against the FreeDOS Kernel (DOS-C), and submit your results to the FreeDOS bug list

Test as much FreeDOS software as you can for MS-DOS compatibility and submit to the FreeDOS bug list

Respond to FreeDOS questions in newsgroups such as alt.os.free-dos, comp.os.msdos.misc, and comp.os.msdos.programmer. In general, become a FreeDOS Advocate. This will help keep DOS visible in people's minds, and help promote FreeDOS as a viable DOS alternative.

Not all FreeDOS programs come with great documentation. Write a set of documentation, or even a HOWTO, for your favorite FreeDOS program.


Copyright © 2000, Jim Hall

Unless otherwise stated, FD-DOC HOWTO documents are copyrighted by their respective authors. FD-DOC HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions.

All translations, derivative works, or aggregate works incorporating any FD-DOC HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the FD-DOC HOWTO coordinator at the address given below.

In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs.

If you have any questions, please contact the FD-DOC coordinator at jhall1@isd.net.